﻿using System;
using System.Data.SqlClient;
using AccessControl.Common;

namespace AccessControl.DataAcess
{
    public class EventTypeAccess
    {
        public AccessControlDS.tblEventTypeDataTable SelectAll()
        {
            using (var cn = new SqlConnection(Util.ConnectionString))
            {
                var cmdSelect = new SqlCommand("SELECT * FROM tblEventType", cn);
                var tblEventType = new AccessControlDS.tblEventTypeDataTable();
                try
                {
                    cn.Open();
                    var reader = cmdSelect.ExecuteReader();
                    while (reader.Read())
                    {
                        var newRow = tblEventType.NewtblEventTypeRow();
                        newRow.pkEventType = (int)reader["pkEventType"];
                        newRow.EventTypeName = (String)reader["EventTypeName"];
                        tblEventType.AddtblEventTypeRow(newRow);
                    }
                }
                finally
                {
                    cn.Close();
                }
                return tblEventType.Rows.Count != 0 ? tblEventType : null;
            }
        }

        public AccessControlDS.tblEventTypeDataTable SelectByFilter(string filter)
        {
            using (var cn = new SqlConnection(Util.ConnectionString))
            {
                var cmdSelect = new SqlCommand(String.Format("SELECT * FROM tblEventType WHERE {0}", filter), cn);
                var tblEventType = new AccessControlDS.tblEventTypeDataTable();
                try
                {
                    cn.Open();
                    var reader = cmdSelect.ExecuteReader();
                    while (reader.Read())
                    {
                        var newRow = tblEventType.NewtblEventTypeRow();
                        newRow.pkEventType = (int)reader["pkEventType"];
                        newRow.EventTypeName = (String)reader["EventTypeName"];
                        tblEventType.AddtblEventTypeRow(newRow);
                    }
                }
                finally
                {
                    cn.Close();
                }
                return tblEventType.Rows.Count != 0 ? tblEventType : null;
            }
        }

    }
}
